Minor Project - 2
Integrated E-shopping application
MEMBER’S NAME ROLL NUMBER SAP ID BRANCH
DIVYAM VERMA R103218043 500067103 CSE-BAO
DEVANSH MESSON
R103218037 500067983 CSE-BAO
MAYANK RASTOGI R103218081 500069069 CSE-BAO
Under the guidance of
Dr.Amit Singh
Mentor Approval
4
CONTENTS
Introduction and Flow of project
Related work
Problem Statement and objective
Methodology
Progress and results
Conclusion, Future work and real-life application
References
5
Introduction
This project is representing an e-shopping application which can be used by customers. A particular category of
product is present in the database. Customers can efficiently select, safely purchase, and can get the selected
product really fast at his/her doorstep.
Extended Minor 1 project
6
Flow of the project
Data base containing 8000
unique mobile phones
Collaborative Filtering will suggest
top 10 best mobile phones on the
basis of likings of other users.
Applied sentiment analysis on the reviews
of these 10 best mobiles given by other
customers.It will further recommend the
best phone out of 10 by giving a score
value.
Customer will purchase the
product. An OTP will be received
by customer.
Encrypt OPT by RSA
algorithm for security.
Bi-directional Dijkstra algorithm
will compute the shortest path
from dispatch location to
customer’s location.
Customer looking for a
mobile in the database
by manually searching
7
Related work
Collaborative Filtering
Collaborative filtering is a method that can filter out things that can that a user may like based on response by other
users. It works via looking through a huge group of individuals. and finding a smaller set of users with tastes similar
to a particular user. It looks at the things they like and combines them to create a ran ked list of suggestions [1].
Sentimental Analysis
Sentiment analysis (or opinion mining) is a natural language processing technique decide if the information is
positive, negative, or unbiased. Sentiment analysis is frequently performed on text-based information to help
organizations and item sentiment in user’s fee dback, and comprehend user’s needs [2].
Encryption-Decryption
Encryption is the process when plaintext is changed over into obviously arbitrary secret message for security reason refer red to as
ciphertext [3].
Decryption is the process of ch anging the ciphertext to the plaintext that process is known as decryption [4].
Bi-directional Dijkstra
Bi-directional method runs the Dijkstra algorithm from the source vertex and destination vertex at the same time
and the algorithm ends when a vertex is processed by forward binary heap and backward binary heap [5].
8
Problem Statement
In this pandemic, people are forced to stay at home as it becomes risky to go outside
and do shopping in crowded areas. Therefore, E-shopping becomes an easy and a safer
alternative for shopping goods, which also makes the experience more helpful and
fulfilling for a buyer than conventional shopping.
Recommend the best and customized product for the customer on the basis of customer’s liking of brand of
product, customer’s budget and reviews given by different customers who had just purchased that specific
item.
Secured online transactions and conceal buyer's financial information using encryption-decryption
Suggest the delivery boy, the shortest possible path as soon as possible in the real road network by
applying time efficient shortest path algorithms .
Objective
9
Methodology
For Recommendation System-
2 methods are being proposed:
Collaborative Filtering
Sentimental Analysis
For Encryption-Decryption -
2 methods are being proposed:
Vi-genre Cipher (Less strong)
RSA algorithm (More strong)
For solving Time Efficient Shortest Path-
4 solving optimization is being proposed:
Brute-force method
Fibonacci heap implementation
Binary heap implementation
Bi-directional Dijkstra algorithm (Giving Least execution time)
Recommendation Collaborative Filtering Sentiment analysis
10
Use - Case Diagram
Represents the flow of our whole project
11
Algorithm of Collaborative filtering
What it does in project:
It will recommend top 10 best mobile phones out of 8000 phones.
12
Algorithm of Sentiment analysis
What it does in project:
From top best 10 mobile phones, It
will shortlist the best phone out of 10
phones.
Formula of Naïve Bayes algorithm
13
Optimizing
Dijkstra algorithm
Pseudocode
Of
Bidirectional
Dijkstra algorithm
What it does in project:
It will help in delivering the product
faster to customer’s place.
14
Progress after Mid-Sem Presentation
Deployed recommendation system consisting of collaborative filtering as a web application on local host using Javascript, Python, HTML,
CSS
Integrated the 3 modules of project in C++ language.
15
Home page
16
Results
For
Sentiment Analysis using Naïve Bayes classification:
Trained 4000 reviews (80% of 5000 reviews)
Tested 1000 reviews (20% of 5000 reviews)
Achieved a validation accuracy of 86%.
Sentiment Analysis and Collaborative Filtering
Collaborative Filtering (User-based):
Recommended top 10 best mobile phones out of
8000 mobile phones for a particular customer.
17
Results
For
Encryption
RSA encryption algorithm : (BEST)
Strongly encrypted the one time password.
Suppose OTP = “devanshmesson
Vigenere Cipher encryption algorithm :
Encrypted the one time password.
Suppose OTP = “DEVANSHMESSON”
More strong :
Less strong :
To hack it : try 26^13 permutations!
To hack it : try more than 26^13
permutations because of special characters.
18
Results
For
Proposed solutions of Dijkstra algorithm
37 seconds
3 milliseconds
19
Increasing density of graph
Why Bi-directional Dijkstra is best?
20
21
Future work :
Will use TFIDF vectorizer and word2vec for improved accuracy.
Will Implement content based filtering for improved recommendation.
Will try to implement AES algorithm for improved encryption.
Will enhance the web application by including all modules of this project
Conclusion
In the case of recommendation system both collaborative filtering and sentiment analysis worked together to recommend the best
phone/s out of 8000 mobile phones on the basis of 40,000 user reviews and ratings.
In the case of encryption- decryption, after comparing the security level of RSA and Vigenère cipher, The RSA performs better than
Vigenère cipher because it provides 2 key encryption which is based on prime numbers and as well as to decrypt the ciphertext
without keys we required more than 26^13 permutations as it uses special symbols with numbers and alphabets.
In the case of shortest path algorithm, after closely comparing the execution time of four algorithms on various real-world test cases,
Bidirectional Dijkstra algorithm comes out to be the most efficient algorithm out of the four algorithms on the basis of time complexity.
Real life application
This project is very beneficial for current pandemic situation. Online ordering of goods is 10 times safer than visiting a crowdy
place. Moreover, Bi-directional Dijkstra algorithm provides efficiency to suggest the shortest path for speedy delivery.
Encryption algorithm provides safety while transaction. Moreover, Recommendation is very beneficial for effective shopping.
22
References
1) G. Linden, B. Smith and J. York, "Amazon.com recommendations: ite m-to-item collaborative filtering," in IEEE Internet Computing,
vol. 7, no. 1, pp. 76-80, Jan.-Feb. 2003, doi: 10.1109/MIC.2003.1167344.
2) B. K. Bhavitha, A. P. Rodrigues and N. N. Chiplunkar, "Comparative study of machine learning techniques in sentiment al analysis,"
2017 International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore, 2017, pp. 216-
221, doi: 10.1109/ICICCT.2017.7975191.
3) D. N. Wu, Q. Q. Gan and X. M. Wang, "Verifiable Public Key Enc ryption With Keyword Search Based on H omomorphic
Encryption in Multi-User Setting," in IEEE Access, vol. 6, pp. 42445-42453, 2018, doi: 10.1109/ACCESS .2018.2861424.
4) https://www.geeksforgeeks.org/vigenere-cipher/
5) Rivest, R.; Shamir, A.; Adleman, L. (February 1978). "A Method for Obtaining Digital Signatures and Public-Key
6) E.W Dijkstra, “A note on two problems in connection with graphs” Numerische Mathematik, vol. 1 , pp. 269271, 1959.
7) T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, "Dijkstra's al gorithm ". Introduction to Algorithms, 2nd ed., MIT Press and
McGrawHill. pp. 595601, 2001, ISBN 0-262-03293-7.
8) T. Porter and I. Simo n, "Random insertion into a priority queue structure". IEEE Transactions on Software Engineerin g. SE-1 (3),
292298, 1975, doi:10.1109/TSE.1975.6312854
9) T.B. de Silveira, E. M. Duque, S.J.F. Guimarães, H. T. Marques-Neto and H. C. de Freitas, “Proposal of Fibonacci heap in the
Dijkstra algorithm for low-power ad-hoc mobile transmissions”. IEEE Latin America Transactions, vol. 18, issue 3, pp. 623-630, 2020,
doi:10.1109/TLA.2020.9082735
10) L. Chen, J. Zhou, J. Li and Y. Chen, “Bidirectional Dijkstra algorithm for best-routing of urban traffic network”. Proceedings SP IE,
vol. 6754, Geoinformatics 2007: Geospatial Information Technology and Applications, 675418 , 2007,
https://doi.org/10.1117/12.764679.